Progressive image transmission using discrete wavelet transforms

ABSTRACT

Disclosed herein is a method of storing and of progressively transferring a still image so that it can be conveniently previewed during the transfer and so that a user can terminate the transfer at an early stage if the image turns out to be undesirable. The methods of the invention include transforming the image into a plurality of decomposition levels using a discrete wavelet transform. Each decomposition level comprises a plurality of subimages which allow reconstruction of an image representation of the still image. The decomposition levels are transmitted beginning with a base decomposition level providing a low level of image resolution and then proceeding with decomposition levels providing increasingly higher levels of image resolution. Within each decomposition level, rows of the various subimages are arranged or interlaced together in contiguous blocks, so that all data for a single row, at a single decomposition level, is transmitted together. At the receiving end of the transfer, the row blocks are reconstructed and displayed as they are received. The invention enables the initial display of a low resolution image which is gradually updated and sharpened, on a row-by-row basis, until a desired high resolution is achieved. The user may terminate the transfer at any point.

RELATED APPLICATIONS

[0001] This is a continuation of an an allowed U.S. Patent Application entitled “Progressive Image Transmission Using Discrete Wavelet Transforms,” Ser. No. 08/776,015, filed Jun. 7, 1995, which is a continuation of an abandoned U.S. patent application, Ser. No. 08/349,324, filed Dec. 5, 1994.

TECHNICAL FIELD

[0002] This invention relates to methods and data structures for transferring still images over relatively low-speed communication channels to allow row-by-row viewing of the images at increasing levels of resolution during image transfer.

BACKGROUND OF THE INVENTION

[0003] Digitally-formatted still graphic images are popular items among users of public on-line information services. These services allow users to select from large numbers of digitized images, and to download the selected images for viewing on the user's own computer. The availability and widespread use of high-resolution computer displays has increased the demand for high-quality digitized images.

[0004] Despite the widespread availability of digitized images for downloading, finding and obtaining useful images can be a frustrating experience. This is due primarily to the large amount of data required to represent a high-resolution computer image and to the corresponding length of time required to download such an image to an individual's personal computer using conventional telecommunication techniques. Although data compression is commonplace, highresolution images can still take several minutes to transfer.

[0005] For instance, a true-color 640 by 480 pixel image, represented by 24 data bits per image pixel, takes at least 12 minutes to transfer using a 9600 baud modem. Common data compression techniques can reduce this time to perhaps one to two minutes. Even this delay, however, can be very frustrating. Compounding the frustration is the very likely possibility that the image, once it is transferred and viewed, will turn out to be something quite different than what the user expected or desired. Downloading and screening a number of images can easily take hours.

[0006] Progressive image transmission is a technique used to reduce this frustration to some degree. It allows a receiving computer to quickly display a very low resolution representation of the image being downloaded. As more and more data is obtained by the user's computer, the image is displayed at ever-increasing levels of resolution. The user can terminate the transfer at any point if the image appears to be unusable.

[0007] Discrete wavelet transformation is a recently developed technique which has been used to compress still image data and to also facilitate progressive image transmission. Several authors have described methods for compressing and transmitting still image data using discrete wavelet transformation. See, for example, the following articles, which are hereby incorporated by reference:

[0008] A. Mallat, Stephane G., “A Theory for Multiresolution Signal Decomposition: The Wavelet Representation”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 11, No. 7, pp. 674-692 (July 1989)

[0009] B. Zettler, William R., et al., “Application of Compactly Supported Wavelets to Image Compression”, Aware Technical Report AD900119, pp. 1-9 (1991)

[0010] C. Antonini, Marc, et al., “Image Coding Using Wavelet Transform”, IEEE Transactions On Image Processing, Vol. 1, No. 2, pp. 205-220 (April 1992) D. Shapiro, Jerome M., “An Embedded Hierarchical Image Coder Using Zerotrees Of Wavelet Coefficients”, IEEE Proceedings of Data Compression Conference, pp. 214-223 (1993)

[0011] E. Blanford, Ronald P., “Wavelet Encoding and Variable Resolution Progressive Transmission”, NASA Space and Earth Science Data Compression Workshop, pp. 25-35 (1993)

[0012] In addition to the articles cited above, the following articles, also incorporated by reference, give more general descriptions of discrete wavelet transforms:

[0013] A. Baaziz, Nadia, et al., “Laplacian Pyramid Versus Wavelet Decomposition for Image Sequence Coding”, IEEE International Conference On Acoustics, Speech and Signal Processing, pp. 1965-1968, (1990)

[0014] B. Vetterli, Martin, et al., “Wavelets and Filter Banks: Relationships and New Results”, IEEE International Conference on Acoustics, Speech and Signal Processing, pp. 1723-1726, (1990)

[0015] C. Press, William H., “Wavelet Transforms: A Primer”, Center for Astrophysics, Preprint Series No. 3184, pp. 1-24

[0016] D. Cody, Mac A., “The Fast Wavelet Transform—Beyond Fourier Transforms”, Dr. Dobb's Journal, pp. 16-28; 100-101, (April 1992)

[0017] E. Rioul, Olivier, et al., “Wavelets and Signal Processing”, IEEE Signal Processing Magazine, pp. 14-38, (October 1991)

[0018] F. Mallat, Stephane G., “A Compact Multiresolution Representation: The Wavelet Model”, IEEE Proceedings of Workshop on Computer Vision, pp. 2-7, (1987)

[0019] G. Mallat, S. G., “Multiresolution Approach To Wavelets In Computer Vision”, Proceedings of the International Conference, Marseille, France, pp. 313-327 (December, 1987)

[0020] H. Daubechies, Ingrid; Vetterling, William T.; Teukolsky, Saul A.; Society for Industrial and Applied Mathematics, “The What, Why, and How of Wavelets”, Ten Lectures on Wavelets, Chapter 1, pp. 1-16 (1992) As explained by Zettler et al. at pages 2-4 of their article entitled “Application of Compactly Supported Wavelets to Image Compression,” the term wavelet refers to an orthonormnal basis for L²(R), the square-integrable function on the real line, which is defined recursively from a set of scaling function coefficients

{α_(k):kε{0, . . . , 2N−1}, NεZ⁺, α_(k)εR}

[0021] that satisfies the following conditions

Σα_(k)=2

Σα_(k) ²=2

[0022] and more generally,

Σα_(k)α_(k+21)=2δ_(0l)

[0023] As further explained by Zettler et al., there are infinitely many sets α_(k) for N≧2 that satisfy these conditions. These coefficients implicitly define a scaling function φ(x) satisfying the following recursion:

φ(x)=Σα_(k)φ(2 x−k)kε{0, . . . , 2 N−1}

[0024] The scaling functions, their translates, the associated fundamental wavelet function ψ(x), and scaled translates of ψ form an orthonormal basis for L²(R). The wavelet function ψ is defined in terms of the scaling function as

ψ(x)=Σ(−1)^(k)α_(k+1)φ(2 x+k)kε{−1, . . . , 2N−2}

[0025] In one dimension, the discrete wavelet transform produces, from an input sequence X={x_(i)}, two output sequences (with kε{0, . . . , 2 N−1}):

Φ={φ_(i)}=(1/{square root}{square root over (2)}){Σα_(k) x _(2i+k)}

Ψ={Ψ_(i)}=(1/{square root}{square root over (2)}){Σ(−1)^(k)α_(2N−1−k) x _(2i+k)}

[0026] Since the discrete wavelet transform is invertible, it provides perfect reconstruction. Several variations of wavelet transformations, using the general principles described above, have been described in the articles cited.

[0027] Image data compression using discrete wavelet transforms begins by decomposing or transforming an image into four subbands or subimages using the above equations. Each subimage is one fourth the size of the original image, and contains one fourth as many data points as the original image. The image decomposition involves first performing a one-dimensional wavelet convolution on each horizontal pixel column of the original image, thereby dividing the image into two subimages containing low frequency and high frequency information respectively. The same or a similar convolution is then applied to each vertical pixel row of each subimage, dividing each of the previously obtained subimages into two further subimages which again correspond to low and high frequency image information. The resulting four subimages can be referred to as LL, LH, HL, and HH subimages. The LL subimage is the one containing low frequency information from both the vertical and horizontal wavelet convolutions. The LH subimage is the one containing low frequency image information from the horizontal wavelet convolution and high frequency image information from the vertical wavelet convolution. The HL subimage is the one containing high frequency information from the horizontal wavelet convolution and low frequency image information from the vertical wavelet convolution. The HH subimage is the one containing high frequency information from both the vertical and horizontal wavelet convolutions.

[0028] The result of this process is graphically illustrated in FIGS. 1 and 2. FIG. 1 shows an original, uncompressed still image 10. FIG. 2 shows a first decomposition level 12 of the same image. Decomposition level 12 is the result of transforming the still image of FIG. 1 using vertical and horizontal passes of a discrete wavelet transform as described above. Decomposition level 12 includes four subimages which are compositely grouped for purposes of illustration. The subbands or subimages of this first decomposition level are designated as the LL1, LH1, HL1, and HH1 subimages, in accordance with the nomenclature already given, with the suffix 1 indicating the first decomposition level. The LL1 subimage contains the low frequency information from the original image. Note that subimage LL1, when represented on a screen display, appears like the original image except at a lower resolution or size. The LH1 subimage contains high frequency information occurring in a vertical direction. The HL1 subimage contains high frequency information occurring in a horizontal direction. The HH1 subimage contains high frequency information occurring in a diagonal direction. In combination, the four subimages contain all the information necessary to reconstruct the original image.

[0029] The first decomposition level can be further decomposed to include a second decomposition level 14 as shown in FIG. 3. This further decomposition is performed only on subimage LL1 of first decomposition level 12. To decompose subimage LL1, horizontal and vertical wavelet convolutions are performed on subimage LL1 in the same manner as the same operations have already been performed on the original image. This step subdivides subimage LL1 into LL2, LH2, HL2, and HH2 subimages. Again, subimage LL2 looks like the original image, except that it has a much lower resolution. Specifically, the LL subimage at each decomposition level has one fourth as many data points as the LL subimage of the next higher decomposition level.

[0030] The wavelet transforms described above are performed recursively on each successively obtained LL subimage. For the practical purposes to be accomplished by the invention described below, it has generally been found that calculating four or five decomposition levels is sufficient.

[0031] To reconstruct the original image, the inverse wavelet transform is performed recursively at each decomposition level. Assuming a two-level compression scheme, the second decomposition level contains a subimage LL2 which is a low resolution or base representation of the original still image. To obtain a higher resolution, subimage LL1 is reconstructed by performing an inverse wavelet transform using the subimages of the second decomposition level. The original image, at the highest available resolution, can subsequently be obtained by performing the inverse transform using the subimages of the first decomposition level (but only after obtaining subimage LL1 through an inverse transform of the second decomposition level).

[0032] The attractiveness of the wavelet approach to image transmission is that subimages LH, HL, and HH contain data which can be efficiently compressed to very high compression ratios through such methods as run-length and Huffman encoding. The preferred embodiments of the invention retain this advantage. In addition, the invention provides efficient methods of storing and transmitting still image data to allow the image to be quickly reconstructed and displayed, at everincreasing resolutions, for early user evaluation. If the still image is found by the user to be unacceptable at any time during transmission, the transmission and reconstruction can be aborted before significant time is wasted.

SUMMARY OF THE INVENTION

[0033] The preferred embodiment of the invention includes a step of transforming a still image so that it can be conveniently previewed during transfer of the image over relatively low-speed data communication links such as telephone lines. The methods of the invention include transforming the image into a plurality of decomposition levels using a hierarchical subband encoding scheme such as the discrete wavelet transform. Each decomposition level comprises a plurality of subimages which allow reconstruction of an image representation of the still image. The decomposition levels are transmitted beginning with a base decomposition level or image representation, providing a low level of image resolution, and then proceeding with decomposition levels providing increasingly higher levels of image resolution. Each decomposition level can be inversely transformed to yield an image representation at a higher level of resolution. Within each decomposition level, rows of the various subimages are arranged or interlaced together in contiguous blocks, so that all data for a single row, at a single decomposition level, is transmitted together. At the receiving end of the transfer, the row blocks are reconstructed and displayed as they are received. The preferred embodiment of the invention enables the initial display of a low resolution image which is gradually updated and sharpened, on a row-by-row basis, until a desired high resolution is achieved. The user may terminate the transfer at any point if the image is not what is desired.

BRIEF DESCRIPTION OF THE DRAWINGS

[0034] FIGS. 1-3 show a still image at various levels of decomposition in accordance with the methods of the invention.

[0035]FIG. 4 is a flow diagram showing preferred steps of transmitting a still image in accordance with the invention.

[0036]FIG. 5 is a flow diagram showing preferred steps of receiving and displaying a still image in accordance with the invention.

[0037]FIGS. 6 and 7 are figurative representations of the preferred steps of the invention.

[0038] FIGS. 8-12 show an example of how the still image of FIG. 1 might appear as it is received and displayed at increasing levels of resolution.

[0039]FIG. 13 shows a data file, in diagrammatic form, for storing a still image in accordance with a preferred embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0040] The invention described below is useful for storing, transferring, receiving, and viewing still images. The invention is particularly useful in combination with transferring images over serial transmission media such as public voice-grade telephone lines or ISDN (integrated services digital network) communication channels. The preferred embodiment is described with reference to grey-scale or RGB still images. A grey-scale image comprises a single color plane having a matrix of pixel or intensity values corresponding to pixel intensities. An RGB image comprises three discrete color planes which each contain a matrix of pixel or intensity values corresponding to pixel intensities. An “R” color plane contains intensities for the red components of pixels. A “G” color plane contains intensities for the green components of pixels. A “B” color plane contains intensities for the blue components of pixels. Other still image representations could also be transferred using the methods of the invention.

[0041] The preferred steps of transferring an original image are shown in FIG. 4. A first step 20 comprises converting the color planes of the RGB image to luminance and chrominance (YUV) planes using well-known techniques. A subsequent step 21 comprises transforming the converted original image into a plurality of decomposition levels using a hierarchical subband encoding scheme such as the wavelet transformation process described in the Background of the Invention section. Each decomposition level comprises a plurality of subimages which allow reconstruction of an image representation of the original still image. Transforming step 21 includes calculating a separate set of subbands or subimages in each decomposition level for each luminance and chrominance plane. In other words, each YUV plane is transformed separately, and each decomposition level comprises a plurality or set of subimages for each YUV plane. Although the various steps are given with reference to a color YUV image, the methods work equally well with greyscale images which include only a single color, intensity, or luminance plane.

[0042] Step 21 preferably comprises creating at least three, and preferably four or more decomposition levels. Assuming four decomposition levels for purposes of explanation, the fourth decomposition level is considered a low resolution “base” decomposition level. It includes subimages YLL4, YLH4, YHL4, and YHH4 for the Y plane; ULL4, ULH4, UHL4, and UHH4 for the U plane, and VLL4, VLH4, VHL4, and VHH4 for the V plane.

[0043] The fourth decomposition level is nested within a third decomposition level having a relatively higher resolution. The third decomposition level contains, in addition to the fourth decomposition level, subimages YLH3, YHL3, YHH3, ULH3, UHL3, UHH3, VLH3, VHL3, and VHH3. Note that the base decomposition level is the only one which contains an explicitly specified LL subimage. The LL subimages of the higher resolution subimages are represented by the lower or nested decomposition levels, and must be calculated or inversely transformed from the lower or nested decomposition levels. The second decomposition level, at an even higher resolution than the third, contains the third decomposition level and subimages YLH2, YHL2, YHH2, ULH2, UHL2, UHH2, VLH2, VHL2, and VHH2. The first decomposition level contains the second decomposition level and subimages YLH1, YHL1, YHH1, ULH1, UHL1, UHH1, VLH1, VHL1, and VHH1.

[0044] Each subband or subimage contains rows of subimage values corresponding to rows of the image representation provided by the corresponding decomposition level. As already described, each subimage at a given decomposition level contains information regarding different frequency components of the original image or of the LL subimage of the next higher decomposition level. The various decomposition levels provide increasingly higher levels of image resolution.

[0045] Steps 22 and 23 of FIG. 4 comprise performing scalar quantization and entropy coding, respectively. The transformed image is scalar quantized on a level-by-level basis. The quantized values are also preferably compressed or encoded using Huffman and run-length encoding. Various forms of run-length encoding can be used for this purpose, as well as the other forms of data compression proposed in the cited literature.

[0046] The decomposition levels are successively transmitted, starting with the base decomposition level, which provides only a low resolution, and continuing with decomposition levels providing increasingly higher levels of image resolution. The decomposition levels are transmitted in accordance with steps 24 through 28 of FIG. 4. As indicated by step 24 the subimages are transmitted as contiguous row blocks. A particular row block contains all the subimage values necessary to allow reconstruction of a single row of an image representation at the resolution of a particular decomposition level. This reconstructed row forms one row of the LL subimage of the next higher decomposition level.

[0047] For a greyscale image, a row block comprises a single pixel row from each subimage of the selected decomposition level. For a color YUV image, the row block comprises a single pixel row from each subimage of each color plane of the selected decomposition level. For instance, a row block might comprise a pixel row from each of subimages YLH, YHL, YHH, ULH, UHL, UHH, VLH, VHL, and VHH of the selected decomposition level.

[0048] Step 24 is repeated for successive row blocks of a single decomposition level until all the rows of the subimages from the current decomposition level have 11 been selected and transmitted. This is indicated by blocks 25 and 26 in FIG. 4. The process is then repeated for subsequent decomposition levels as indicated by blocks 27 and 28. This process continues until all row blocks of all decomposition levels have been transmitted.

[0049] As a specific example, transmission begins with a fourth or base decomposition level. Transmission of the base decomposition level begins with only its LL subimages to allow immediate display of a very rough image representation. For the color image being described herein, this includes subimages YLL4, ULL4, and VLL4. Transmission begins with a row block comprising the first row of YLL4, the first row of ULL4, and the first row of VLL4. Transmission continues with a subsequent row block comprising the second row of YLL4, then the second row of ULL4, and then the second row of VLL4. The remaining rows of subimages YLL4, ULL4, and VLL4 follow, arranged in further row blocks.

[0050] Transmission of the remaining subimages of the fourth decomposition level then continues, starting with a row block containing the first row of each of subimages YLH4, YHL4, YHH4, ULH4, UHL4, UHH4, VLH4, VHL4, and VHH4. The next row block contains the second row of each of subimages YLH4, YHL4, YHH4, ULH4, UHL4, UHH4, VLH4, VHL4, and VHH4. The remaining rows of subimages YLH4, YHL4, YHH4, ULH4, UHL4, UHH4, VLH4, VHL4, and VHH4 are similarly arranged and transmitted in sequential row blocks.

[0051] Transmission then continues with the third decomposition level, starting with a row block containing the first row of each of subimages YLH3, YHL3, YHH3, ULH3, UHL3, UHH3, VLH3, VHL3, and VHH3. Note that this decomposition level does not contain LL subimages, since the LL subimages of the decomposition level can be reconstructed from the already-transmitted fourth decomposition level. The next row block contains the second row of each of subimages YLH3, YHL3, YHH3, ULH3, UHL3, UHH3, VLH3, VHL3, and VHH3. The remaining rows of subimages YLH3, YHL3, YHH3, ULH3, UHL3, UHH3, VLH3, VHL3, and VHH3 are similarly arranged and transmitted in sequential row blocks.

[0052] The second and then the first decomposition levels are transmitted with the same ordering or interlacing of rows from the various subimages.

[0053] Thus, in accordance with methods of FIG. 4, an image is transmitted as a succession of decomposition levels allowing progressive reconstruction of the original image at ever-increasing levels of spacial resolution. Furthermore, information is transmitted on a line-by-line or row-by-row basis. Within a given decomposition level, all information for the first row, including the row information from all subimages and from all color planes, is transmitted as a single row block. This allows the image to be reconstructed line-by-line as it is received. A user is thus allowed the opportunity to abort transmission at any time, after viewing the image at a coarse resolution.

[0054]FIG. 5 illustrates the preferred steps of receiving and reconstructing an image. Block 40 indicates a step of receiving the row blocks discussed above. Steps 41 through 45 comprise reconstructing successive pixel rows corresponding to the still image at increasing levels of resolution by inversely transforming and displaying each row block. These steps are performed on each row block as it is received. Step 41 comprises entropy decoding; step 42 comprises scalar unquantization; step 43 comprises inverse wavelet transformation; and step 44 comprises YUV to RGB conversion. These steps are performed on each row of the current decomposition level and thereby reconstruct the corresponding row or rows of the next-higher decomposition level. This reconstruction creates a sequence of reconstructed images at increasing sizes corresponding to increasing resolution levels.

[0055] Step 45 comprises displaying each successive pixel row of each decomposition level as it is received and reconstructed. This allows a user to evaluate an image during its reception, without having to wait for the complete transfer of an image or even for the complete transfer of a decomposition level. Step 45 preferably includes a step of expanding each successive reconstructed image to a common size before actually displaying it. Such expansion is preferably accomplished with bilinear interpolation or pixel averaging in accordance with known techniques. Displaying step 45 might also include appropriate dithering if the image is to be displayed using a color palette which is smaller than that used to create the original image.

[0056] The transmission and reconstruction of single row blocks is figuratively shown in FIGS. 6 and 7. FIG. 6 shows Y, U, and V LL subimages 51, 52, and 53 of a base decomposition level, with a single pixel row x being selected from each LL subimage. The selected pixel rows are combined to form a row block 54. The single row block is transmitted as a block. After such transmission, entropy decoding, unquantizing, inverse transformation, and YUV to RGB conversion steps 55 through 58 are performed. This yields a single row x of a reconstructed image 59. Sequential rows of the LL subimages are blocked, transmitted, and reconstructed to yield all the pixel rows of image 59 at the base decomposition level.

[0057]FIG. 7 shows Y, U, and V subimages 61, 62, and 63 of a decomposition level which may or may not be a base decomposition level. Transmission in this case does not include LL subimages. Again, a single pixel row x is selected from each subimage. The selected pixel rows are combined to form a single contiguous row block 64 which is transmitted as a block. After such transmission, entropy decoding, unquantizing, inverse transformation, and YUV to RGB conversion steps 65 through 68 are performed. This yields a single row x of reconstructed image 59 at a higher resolution than previously available. Sequential rows of the subimages are blocked, transmitted, and reconstructed to yield all the pixel rows of image 59 at the resolution of the current decomposition level. This process is repeated at each decomposition level, so that image 59 is displayed at ever-increasing levels of resolution.

[0058] The specific arrangement and timing of the image transmission allows a user to view each portion of an image at the earliest possible moment. The image will be first drawn at a base or low level of resolution, corresponding to the LL subimages of the base decomposition level, starting at the top row and proceeding downward. During reception of the remaining subimages of the base decomposition level, the display will be updated, again row-by-row. The user will perceive a slight increase in sharpness, occurring gradually from top to bottom of the image. Further sharpness will be provided during reception of subsequent decomposition levels, until the image is fully reconstructed at its original resolution. Transmission can be aborted at any time by the user.

[0059] The result is illustrated by the sequence of displays shown in FIGS. 8 through 12. An initial image representation appears at a very low resolution as shown in FIG. 8. Note that this representation reflects the use of bilinear interpolation. This greatly enhances the recognizability of the image. The rough image of FIG. 8 is gradually updated, row by row, bottom to top, as row blocks of the next higher decomposition level are received and inversely transformed to achieve an image representation such as shown by FIG. 9. Reception and inverse transformation of further decomposition levels achieves the representations of FIGS. 10 and 11. Reception of the last decomposition level results in the high-resolution image of FIG. 12. The visual effect to a user is pleasing. Rather than seeing a succession of disjointed images, at increasing unrelated sizes, the user sees a single image of a fixed size, which gradually sharpens, row-by-row, to a very high resolution.

[0060] When the receiving computer is relatively slow, reconstructing steps 41 through 45 of FIG. 5 can be implemented to reconstruct and display only the luminance (Y) plane of the received YUV image. The luminance plane appears as a greyscale representation of an original color image and will in many cases be acceptable for previewing an image. Further reconstruction of the chrominance (UV) planes can be postponed until the user requests a full-color display of the original image.

[0061] It is advantageous to actually store still images in the decomposed, compressed, and ordered format described above. This minimizes storage space and also minimizes the recurring processing costs which would otherwise be necessary to transform and arrange the image data prior to or during each transfer. The invention thus includes a data file arranged as shown schematically in FIG. 13 for storing a still image. The data file is generally designated by the reference numeral 70. It comprises a plurality of decomposition levels representing the original still image at increasingly higher levels of resolution. The decomposition levels are arranged within the data file in order of increasing levels of resolution (shown from top to bottom in FIG. 13). For instance, the LL data from a fourth or base decomposition level is stored first in a data block 71, followed by the remaining LH, HL, and HH data of fourth decomposition level in a data block 72. is This is followed by a third decomposition level in a data block 74, a second decomposition level in a data block 76, and a first decomposition level in a data block 78.

[0062] As described above, each decomposition level comprises a plurality of subimages which allow reconstruction of an image representation corresponding to the original image. The subimages have rows of subimage values corresponding to rows of the image representation. The subimages are preferably transformed with a discrete wavelet transform.

[0063] Each decomposition level comprises a separate set of subimages for each luminance and chrominance plane of the still image. However, the rows of the various subimages are arranged within the data file and within each particular decomposition level to form row blocks as shown in FIG. 13. Each row block in FIG. 13 is indicated by the designation RB#_(x), where # indicates the decomposition level and the subscripted value indicates a particular row of the subimages of the decomposition level. As shown, the row blocks are arranged starting with a top row 1 of the subimages and ending with the bottom row of the subimages. The value K indicates the number of rows in the subimages of the first decomposition level.

[0064] The rows in each block correspond to a single common row of the image representation provided by the decomposition level containing the row block. Each row block contains all the data required to reconstruct said single row. Specifically, each row block contains a row of data from each or at least a plurality of the subimages of the decomposition level. For instance, a single row block contains YLH#_(x), YHL#_(x), YHH#_(x), ULH#_(x), UHL#_(x), UHH#_(x), VLH#_(x), VHL#_(x), and VHH#_(x), wherein x indicates a particular row of the subimages. The row blocks are preferably compressed using a form of run-length encoding and Huffman encoding.

[0065] The invention provides a needed improvement in the transfer of still images over relatively low speed communication links. The ability for a user to see enhancements to an initial, low-resolution image representation, so that the displayed image representation gradually sharpens to its full resolution on a line-by-line basis, is a particularly pleasing and desirable advantage when previewing images. The particular decomposition methods used provide additional advantages in that they are computationally efficient and allow for efficient data compression.

[0066] In compliance with the patent statute, the invention has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the invention is not limited to the specific features shown and described, since the means herein disclosed comprise preferred forms of putting the invention into effect. The invention is, therefore, claimed in any of its forms or modifications within the proper scope of the appended claims appropriately interpreted in accordance with the doctrine of equivalents. 

1. A data file for storing a still image, the data file comprising: a plurality of decomposition levels representing the still image at increasingly higher levels of resolution, the decomposition levels being arranged in order of increasing levels of resolution; individual decomposition levels each comprising a plurality of subimages which allow reconstruction of an image representation of the still image, said subimages having rows of subimage values corresponding to rows of said image representation; said rows of subimage values being arranged within each particular decomposition level in row blocks, each row block containing a row of subimage values from a plurality of subimages of the particular decomposition level, wherein the rows of each row block correspond to a common image representation row.
 2. A data file as recited in claim 1 wherein the subimages are transformed with a discrete wavelet transform.
 3. A data file as recited in claim 1 wherein the row blocks are encoded.
 4. A data file as recited in claim 1 wherein the row blocks are runlength encoded.
 5. A data file as recited in claim 1 wherein each decomposition level comprises a separate set of subimages for each luminance and chrominance plane of the still image. 